[C++]关于用new创建的数组如何获取长度问题

您所在的位置:网站首页 new float数组输入与调用 [C++]关于用new创建的数组如何获取长度问题

[C++]关于用new创建的数组如何获取长度问题

2024-07-09 09:39| 来源: 网络整理| 查看: 265

 在 new [] 一个对象数组时,需要保存数组的维度,  C++ 的做法是在分配数组空间时多分配了 4 个字节的大小,专门保存数组的大小,  在 delete [] 时就可以取出这个保存的数,就知道了需要调用析构函数多少次

为验证这一结论,我创建两个用指针表示的数组,一个使用new创建,一个用来指向已经存在的数组。再分别用_msize()函数来获取它们的长度

(_msize()函数作用是取出new字符创建数组空间时,在数组元素内存前面分配的那4个字节大小的空间中保存的数字)

#include using namespace std; int main() { int *t=new int[5]; // 第一个数组t使用new字符创建,创建一个大小为5个int的内存空间 cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3